A Verified Compiler for Synchronous Programs with Local Declarations
نویسندگان
چکیده
We describe the translation of Esterel-like programs with delayed actions to equivalent equation systems. Potential schizophrenia problems arising from local declarations are solved by (1) generating copies of the surface of the statement and (2) renaming the local variables in one of the copied surfaces generated a loop. The translation runs in quadratic time and has been formally verified with the HOL theorem prover.
منابع مشابه
Formal verification of automatically generated C-code from polychronous data-flow equations
Synchronous data-flow languages are used as design approaches in developing embedded and critical real-time systems in which synchronous programs are verified by applying formal verification. In a synchronous design approach, transformation and optimization are used to transform synchronous programs and generate general purpose executable code. The incorrectness of the transformations make the ...
متن کاملMulti-Core Code Generation from Polychronous Programs with Time-Predictable Properties
Synchronous programming models capture concurrency in computation quite naturally, especially in its dataflow multi-clock (polychronous) flavor. With the rising importance of multi-core processors in safety-critical embedded systems or cyber-physical systems (CPS), there is a growing need for model-driven generation of multi-threaded code for multi-core systems. This paper proposes a build meth...
متن کاملAn uncaught exception analysis for Java q , qq
Current JDK Java compiler relies on programmer’s declarations (by throws clauses) for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer’s unnecessary handlers nor suggest to programmers for specialized handlings (when programmer’s declarations are too broad). We propose a static analysis of Java programs that estimates their uncaught exce...
متن کاملVerified Synthesis of Knowledge-Based Programs in Finite Synchronous Environments
Knowledge-based programs (KBPs) are a formalism for directly relating an agent’s knowledge and behaviour. Here we present a general scheme for compiling KBPs to executable automata with a proof of correctness in Isabelle/HOL. We develop the algorithm top-down, using Isabelle’s locale mechanism to structure these proofs, and show that two classic examples can be synthesised using Isabelle’s code...
متن کاملCompiler verification for fun and profit
OF INVITED TALK Formal verification of software or hardware systems — be it by model checking, deductive verification, abstract interpretation, type checking, or any other kind of static analysis — is generally conducted over high-level programming or description languages, quite remote from the actual machine code and circuits that execute in the system. To bridge this particular gap, we all r...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 153 شماره
صفحات -
تاریخ انتشار 2006